home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-09-04 | 67.7 KB | 1,751 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- T E A C H E R
-
- A Didactic Tool for your Computer
-
- (C) 1991, 1992 by Paolo Gatti
-
- All Rights Reserved
-
- Version 0.60, released on 4-Sep-1992
-
-
- User's Manual
-
- TEACHER TABLE OF CONTENTS 2
-
- TABLE OF CONTENTS
-
- Introduction...............................................................3
-
- How Teacher was developed; Acknowledgements................................5
-
- How to register............................................................6
-
- Basic Concepts............................................................11
-
- Logical Blocks............................................................12
- Linear Block........................................................13
- Terminal Block......................................................13
- Question Block......................................................14
- Evaluation Block....................................................17
-
- How to create a lesson....................................................18
-
- Internal Commands.........................................................19
-
- External Commands.........................................................21
-
- The Log File..............................................................27
-
- How to customize Teacher..................................................28
-
- TCRComp: the Lesson Compiler..............................................29
-
- Error Messages............................................................32
-
- Conclusion................................................................37
-
- Index.....................................................................38
-
- TEACHER INTRODUCTION 3
-
- INTRODUCTION
-
- Teacher is a didactic program which can be used to teach lessons and to
- evaluate the performance of the student. At the moment, it's available on
- Amiga and Msdos computers, in Italian and in English. Teacher does not
- claim to replace human teachers, but it can add some interesting features to
- the traditional way of teaching. It can be used at school to examine
- students: in this case, it can provide an objective evaluation of the
- student's skills according to the answers he gives. It can also be used at
- home, if the student owns a computer, as a self-test.
-
- Teacher has many advantages: here are some of them.
-
- Advantages over the "typical" private lesson:
-
- -The student who owns a computer and a copy of Teacher can study whenever he
- likes and as long as he likes.
-
- -The student can suspend the lesson, start again from the beginning or from
- anywhere in the lesson he likes... as the teacher is a computer, it is very
- patient and never gets angry.
-
- -Teacher is definitely cheaper.
-
- -At the end of the lesson, the student knows exactly how good - or bad - his
- knowledge of the subject is.
-
-
- Advantages over the "typical" oral test:
-
- -A great number of students (one for each available computer) can be
- examined at the same time.
-
- -Everything the student answers can be permanently memorized on a diskette,
- and the teacher can, after the test, look again at the answers given.
-
- -Nothing is made up on the spur of the moment: every question is balanced
- and logical.
-
- -Teacher is a fair judge: all the students answer to the same questions and
- face the same difficulties; luck and partiality do not influence the final
- outcome.
-
- -The final evaluation is error-free: the mark the student gets depends
- exclusively on the answers he gives (correct, incorrect, partially correct),
- on the difficulty of the questions and on the skill required to discard
- wrong answers.
-
- -The student immediately knows, if he makes a mistake, what he did wrong and
- why: during oral tests, very often, there is not enough time to analyse
- deeply each answer.
- TEACHER INTRODUCTION 4
-
- Advantages over the "typical" written test:
-
- -Teacher is flexible: according to the student's answers, it is possible to
- alter the following questions. For instance, if the student makes a very
- serious mistake, it is possible to ask him more questions on the same
- subject.
-
- -Teacher is colloquial: the student knows instantly if he answered
- correctly or not.
-
- -The student does not have to wait to know the mark he deserved: Teacher
- can calculate it in a fraction of second.
-
- -Sometimes, deceitful students manage to read the test before they take the
- exam... Teacher makes this nearly impossible, as it can encrypt the lessons
- so that only who knows the correct password can read the test.
- TEACHER ACKNOWLEDGEMENTS 5
-
- HOW TEACHER WAS DEVELOPED; ACKNOWLEDGEMENTS
-
- I began writing Teacher in November 1990, when my teacher of History and
- Philosophy, Piero Carelli, suggested I wrote a series of questions on German
- Idealism. During the following months, thanks to the numerous beta-testers,
- Teacher gradually grew up to its current size. The program was written in C
- language, and the Amiga version was compiled with Aztec C compiler V5.0d-1.
-
- I must thank all the people who helped me to develop Teacher by testing the
- various versions of the program and giving me useful suggestions:
-
- Piero Carelli - for the idea & a very deep beta-testing;
-
- Giovan Battista Nichetti - for his suggestions;
-
- The vice-principal of my school - for letting me use the computer room;
-
- Ascanio Orlandini
- Mario Pacchiarotti
- Enrico Cima
- Piergiorgio Ghezzo
- and all my friends of FidoNet and AmigaNet- for technical advice;
-
- Marco Bissa
- Fabio Brassini
- Elena Danzi
- Matteo Maretti
- Silvia Provezza
- and the other students of my class - they didn't kill me when I "forced"
- them to test the program! 8->
-
- Manx - for the compiler;
-
- Commodore Amiga, Inc. - for creating Amiga, of course!
-
- TEACHER HOW TO REGISTER 6
-
- HOW TO REGISTER
- * READ CAREFULLY *
-
- Teacher is NOT free. It is NOT a Public Domain program, nor will it ever
- be. The author reserves all rights on the program.
-
- I chose to distribute Teacher as a Shareware program, as I think Shareware
- is advantageous for both the programmer and the user.
- The evaluation version of Teacher is freely redistributable, as long as it
- remains in its integral form: that is, you cannot distribute partial or
- modified versions. It is forbidden to the distributor to charge fees which
- exceed the costs of shipping&handling.
- It is also forbidden to modify, disassemble, decompile or reverse engineer
- the program in any way, and to include parts of Teacher in other software
- packages without the written permission of the author.
- Users are granted a limited evaluation license, which allows them to test a
- limited version of Teacher for one month. After a month, if you are not
- interested in Teacher you must destroy all the copies of Teacher you own;
- otherwise, you have to register. Registered users will receive by mail the
- most recent version of Teacher, together with a KeyFile which allows you to
- use Teacher up to its full potential. Registered users can still distribute
- evaluation copies of Teacher, but must not distribute the keyfile
- "Teacher.Reg".
-
- Somebody may ask, "Why should I register?". There are three good reasons.
-
- 1) You will sleep better, and you will not bear a burden on your conscience.
- 2) Only registered users can use all of the features of Teacher.
- 3) If you register you encourage the author to develop new and better
- versions of Teacher, and registered users do not have to pay anything to
- use these new versions.
-
-
- HOW TO REGISTER
-
- You just have to fill the form on page 8 and send it to
-
- Teacher Development
- c/o Paolo Gatti
- via Boldori 17
- 26013 CREMA (CR)
- ITALY
- (Tel. +39-373-201617)
-
- together with the photocopy of the receipt of a postal money order, or with
- a cheque in Italian Lire drawn on an Italian bank, non-transferable and made
- out to "Paolo Gatti". Your local bank or post office can suggest you the
- most convenient way. Beware - only the Author can grant licenses.
-
- Registration to one copy of Teacher costs 20000 LIT. (less than 20 US$).
-
-
- TEACHER HOW TO REGISTER 7
-
- If you wish to make a multiple registration, that is, if two or more users
- want to make an order together, each user must fill and sign a copy of the
- form. I WILL NOT ACCEPT NON-SIGNED REQUESTS. If you are not of age, one of
- your parents must sign. If you order more than 10 copies to be sent to the
- same address, there is a discount: the copies ABOVE #10 only cost 15000
- LIT. If you order at least 10 copies, you may ask for a single "Master
- Disk" containing all the KeyFiles; in this case, the duplication is up to
- you, but each copy costs 10000 LIT.
-
- Add 3000 LIT per disk for an Express delivery, and 5000 LIT per package
- (just once if the disks must be sent all together) if you want me to use
- registered mail.
-
- For instance, if a school wants to order 8 copies of Teacher, the cost is
- 8*20000 = 160000 LIT. 25 copies sent to the same address cost 10*20000 +
- 15*15000 = 425000 LIT. A Master Disk with 25 Keyfiles costs 250000 LIT.
-
- As I said, the evaluation version is freely redistributable; however, if you
- can't find it anywhere, you can get it from the author for 10000 LIT
- (registration excluded).
-
- Registered users can use Teacher to READ a lesson; if you want to use
- TCRComp, the syntax controller (see later), and if you want to create new
- lessons you must also register to TCRComp. Registration costs 10000 LIT per
- copy plus 20000 LIT per author; it is possible for many authors to use the
- same copy, provided only one author at a time uses it. Registration to
- a copy of TCRComp includes a free registration to one copy of Teacher.
-
- For instance, if three teachers want to use TCRComp on the same computer,
- they have to pay 70000 LIT; if each of them wanted to use it on a separate
- computer, the price would grow to 3*30000 = 90000 LIT.
-
- It is possible to upgrade registrations to TCRComp: if a fourth teacher
- wanted to use the same copy of Teacher, he would only have to pay 20000 LIT;
- he would receive a new Keyfile to replace the old one. Note that once you
- receive a new Keyfile you must delete the old one.
-
-
- Registered users have few restrictions:
-
- - The licence CANNOT be sold, transferred or let without permission from the
- author;
-
- - The KeyFile CANNOT be distributed;
-
- - A single licence allows you to use Teacher on a single computer at any
- time; that means that if you are a registered user you can use Teacher
- yourself on any computer you wish, and you can also lend it to others; but
- you CANNOT run at the same time two copies of Teacher, unless you own two
- licences. Consider Teacher as any object: if you buy it, you can use it
- where you wish, and you can lend it to others, but you cannot "double" it...
- TEACHER HOW TO REGISTER 8
-
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Cut Here -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
- CONTRACT OF NON-EXCLUSIVE LICENCE
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1- Paolo Gatti (the Author) cannot be held liable for any damage caused by
- usage of the programs Teacher and TCRComp. The User takes upon himself all
- responsibilities.
- 2- The Author is not obliged to develop further versions of the programs
- Teacher and TCRComp.
- 3- The User agrees that he CANNOT distibute the program's KeyFile, called
- "TEACHER.REG".
- 4- The user agrees to destroy all the copies he owns of the program and of
- the documentation in case of violation of the licence terms.
- 5- The User is granted permission to make safety copies of the programs, the
- manuals and the KeyFile, but in this case he must be sure that no more than
- one copy of the program per registration is active at any time.
-
- USER'S DATA: Multiple Order ( ) Main Form ( )
-
- Name________________________________________________________________________
-
- Address_____________________________________________________________________
-
- ZIP code, City, Province/State______________________________________________
-
- Country___________________ Phone Number____________________________________
-
- I order #_______________ copies of Teacher, and
-
- #___________________ copies of TCRComp, for __________________ authors.
-
- Program Version: Amiga ( ) Ms Dos ( ) Italian ( ) English ( )
- Delivery mode: To single users ( ) Cumulative ( ) Master Disk ( )
- Extra postal services? Express ( ) Registered mail ( )
-
- Cost: _____________ L. (Teacher) + ____________ L.(postal extras) +
-
- + __________(TCRComp copies) * 10000 L. + _________(authors) * 20000 L. =
-
- = ______________L.(Total expenditure)
-
- I accept all the clauses of this contract, especially clauses #1, #3 and #4.
-
- Authorized Signature
-
- _________________________________
-
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Cut Here -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- TEACHER HOW TO REGISTER 9
-
- The form should be very easy to understand. The only parts which require
- some explanation are "Multiple Order" and "Main Form". They are useful if
- you wish to order many copies of Teacher which must be sent to the same
- address. In this case, all the users must sign a copy of the form, cross
- "Multiple Order" and leave empty the monetary part of the contract; the
- person who wants to receive the parcel must cross "Main Form" and summarize
- on his form the cost of all the copies.
-
- If you have any doubt, enclose a letter (in Italian or English, please!) to
- explain your needs.
-
- TCRCOMP REGISTRATION FORM
-
- For each copy of TCRComp you order, you must also send me a copy of the form
- you can see below, as I need to know the names of the authors. There are no
- discounts for quantity on TCRComp, but remember - each copy of TCRComp
- includes a free copy of Teacher.
-
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Cut Here -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- TCRCOMP REGISTRATION FORM
-
- USER'S DATA:
-
- Name________________________________________________________________________
-
- Address_____________________________________________________________________
-
- ZIP code, City, Province, Country___________________________________________
-
- New Licence? YES ( ) NO ( )
- Program Version: Amiga ( ) Ms Dos ( )
-
- Names of the authors:
-
- ________________________ _________________________ _________________________
-
- ________________________ _________________________ _________________________
-
- ________________________ _________________________ _________________________
-
- ________________________ _________________________ _________________________
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Cut Here -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- TEACHER HOW TO REGISTER 10
-
- A short summary: every person or firm who wants to purchase one or more
- copies of Teacher and/or TCRComp must sign a copy of the Registration Form;
- for each copy of TCRComp, you must also fill the supplementary form. Please
- write everything, except the signature, in block letters, as I might not
- understand your handwriting.
-
- I will try to send the registered copies of Teacher as soon as possible,
- but, considering the famous efficiency of Italian mail 8-<, do not worry if
- the parcel takes two or three months to arrive. If you want a quicker
- delivery ask for Express mail.
-
-
- WARNING! The evaluation copy of Teacher works with some restrictions, which
- do not bind registered users. Registration to Teacher allows you to read
- lessons COMPILED WITH TCRCOMP. If you register only to Teacher, and if you
- try to use non-compiled lessons, the program will perform as an evaluation
- version. If you register to TCRComp as well, you can also read non-compiled
- lessons, without any restriction.
-
- As you should have read in the contract, the Author is not responsible for
- any damage caused by the program. Do not worry, though. That is only a
- legal clause to protect myself, but up to now Teacher has not damaged
- anything.
-
- Also note that the fact that registered users do not have to pay for the
- upgrades does not imply that the Author must go on developing Teacher.
-
-
- These conditions, in my opinion, are more favourable than those usually
- found in commercial products - and the price is much lower. Do not make me
- regret having chosen Shareware to distribute Teacher: if you use my
- program, register yourselves.
-
- TEACHER BASIC CONCEPTS 11
-
- BASIC CONCEPTS
-
- Teacher and TCRComp have been developed to give teachers and students as
- much flexibility as possible. You can instantly see this from the fact that
- it is possible to transfer nearly everything from Amiga to Msdos and vice
- versa using any interface - software emulators, serial cable, Bridgeboard...
- The only thing that changes between the two versions is the executable code
- (on Amigas, "Teacher" and "TCRComp"; on Msdos "Teacher.exe" and
- "TCRComp.exe").
-
- Teacher does not require much to work. The Amiga version works on all
- models from A500 to A3000 33Mhz. As for Msdos is concerned, Teacher works
- perfectly on PC XT, 286, 386 and 486 computers. The minimum memory required
- varies according to the size of the lesson, but 200K should be more than
- enough.
-
- The only major fault in Teacher is the interface for teachers which... does
- not exist: if I have time, I will develop it. At the moment, if you want
- to create a lesson you need Teacher, Tcrcomp and a Text Editor. (For Amiga
- users I suggest TxEd or Cygnus Editor). Any editor should be all right; the
- only requisite is that the editor MUST NOT add special characters (i.e.
- Bold, Underline...) to the text, as they could interfere with Teacher's text
- handling routines. You have to avoid TABs as well.
-
- Teacher, as you can read in the Introduction, has many interesting features:
- in the following chapters you will learn how to use the program. I strongly
- suggest, anyway, that if you want to do something "serious" with Teacher you
- should first of all have a clear idea of what exactly you want Teacher to
- do. People who know what they want to do can do it better.
-
- TEACHER LOGICAL BLOCKS 12
-
- LOGICAL BLOCKS
-
- Logical blocks are Teacher's main feature. There are four kinds of logical
- blocks, and I will describe each of them later. Any lesson can be created
- simply by putting together, in a certain order, some blocks. This is a
- short description of all the possible blocks:
-
- LINEAR BLOCK: it writes a text onto the screen and goes on to another block.
- TERMINAL BLOCK: it writes a text onto the screen and ends the lesson. This
- is the least frequently used block.
- QUESTION BLOCK: it asks the student a question and proposes two or more
- possible answers. The student must choose the answer(s) he thinks is(are)
- right, and Teacher goes on with another block, determined by the answer or
- combination of answers given.
- EVALUATION BLOCK: it is similar to the Question block, but Teacher does not
- ask anything - it chooses where to go according to the student's score, the
- time he/she took to answer up to now, a random number or the contents of any
- of the 64 variables that Teacher can memorize.
-
- Every block can "call" any other block: that is, the lesson can go on from
- any kind of block (except, of course, a Terminal Block) to any kind of
- block. Moreover, as blocks are identified by their name, it is not
- necessary for the blocks to be put in sequential order: when Teacher seeks
- a block, it seeks it from the beginning of the text to the end.
-
- All blocks start with a line, long no more than nine characters (letters or
- digits), which identifies univocally that block; they end with a @#%
- sequence. Block names must be unique, and they must not enclose spaces.
-
- Note that Teacher is NOT case sensitive: "A" and 'a' are the same thing.
-
- Immediately after the Block Name, you have to type a text, which will appear
- every time that Teacher reads the block; the text must finish with a
- LineFeed and a @#$ sequence. Between @#$ and @#% you have to put some
- special data which varies depending on which type of block you want to
- create.
-
- Note that if your Text Editor allows you to write long lines without going
- to a new line, you can avail yourself of this feature: Teacher will page
- the text up for you. Otherwise, Teacher can leave the text as it is or page
- it up. Please read the description of "LeftMargin", "RightMargin" and
- "Justify" in the External Commands section to know more about text
- justification.
-
- An example:
-
- BLOCK1
- .............
- ..(Block Text)..
- .............
- @#$
- .............
- ..(Other Data)..
- .............
- @#$
- TEACHER LINEAR BLOCK 13
-
- LINEAR BLOCK
-
- It is a very simple block: it corresponds to a forced path. When Teacher
- finds such a block, it writes the text on the screen, asks the student to
- press Return and goes on with the next block.
-
- The structure of a linear block is the following:
-
- BLOCK_NAME
- Block Text
- @#$
- 1
- NEXT_BLOCK_NAME
- @#%
-
- For instance, if the student makes a mistake, you could tell Teacher to use
- this block:
-
- Error
- I'm sorry, but your answer was completely wrong.
- @#$
- 1
- Question3
- @#%
-
- In this case, Teacher writes the sentence on the screen, waits for the
- student to press Return and goes on to the block called "Question3".
-
-
- TERMINAL BLOCK
-
- It is even easier than the linear block: it concludes a lesson.
- Here is the syntax:
-
- BLOCK_NAME
- Block Text
- @#$
- 0 <- Beware! This is a zero, not an 'o'!
- @#%
-
- And here is an example:
-
- TheEnd
- The lesson is over. See you next time.
- @#$
- 0
- @#%
-
- Teacher writes the sentence, asks the student to press Return and ends the
- lesson.
-
- TEACHER QUESTION BLOCK 14
-
- QUESTION BLOCK
-
- It would be nearly useless to write an extremely long series of blocks
- without giving the student any chance to say anything, wouldn't it?
- Therefore, here is the most important part of Teacher, the one that allows
- you to ask the student questions and to give him a score according to his
- answer.
-
- The complex syntax of a Question block is the following:
-
- BLOCK_NAME
- Block Text: the question
- @#$
- Possible Answers;Maximum Contemporary Answers
- 'A' answer
- @#$
- 'B' answer
- @#$
- ...
- @#$
- Score YES_A; Score NO_A
- Score YES_B; Score NO_B
- ...
- @#$
- Answers; Continue with block...
- ...
- @#%
-
- Looks difficult, doesn't it? This is perhaps the most complicated part of
- Teacher to learn - but it is the most useful as well.
-
- "Possible Answers" is the number of the answers that the computer must
- suggest to the student. It must be at least 2.
-
- "Maximum Contemporary Answers" is the maximum number of answers that the
- student may choose among the ones the computer suggests. If this parameter
- is 3, for instance, the student can choose one, two or three answers.
- Obviously, this parameter must be at least 1, and cannot be higher than
- "Possible Answers".
-
- Immediately after these two numbers, put the texts of the possible answers,
- dividing them with @#$ lines. Teacher pages up answers as well; if you want
- to page them up yourself, remember that the text must be 3 columns narrower
- - 71 columns on Amiga, 74 on Msdos.
-
- After the last @#$ we find the scores: on each line there must be two
- positive or null integers, divided by a semicolon; the first represents how
- many points the student gets if he chooses that particular answer, the
- second the points he gets if he does NOT choose it. Do not worry if the
- concept seems strange - I am going to explain it later. There must be one
- such line for each possible answer. The Scores section must end with a @#$
- line.
-
- At the end there is the Jump Table: here you decide, according to the
- answers given, which block Teacher must go on with. Each line of this
- section consists of a condition, a semicolon and a BlockName. Conditions
- are considered from the top to the bottom, and as soon as a condition is
- satisfied Teacher jumps to the corresponding block.
- TEACHER QUESTION BLOCK 15
-
- Here is an example - you will probably need it...
-
- Question4
- Which of the following blocks can you find in Teacher?
- @#$
- 5;3 <- 5 answers follow; the student can choose up to 3.
- Question Block
- @#$
- Answer Block
- @#$
- Empty Block
- @#$
- Terminal Block
- @#$
- Illogical Block
- @#$
- 10;0
- 1;7
- 0;6
- 12;0
- 0;2
- @#$ Did the student choose...
- BCE;3Errors <- ...three wrong answers?
- AD;AllIsOK <- ...the two correct answers and nothing else?
- A;Partial <- ...the first answer and nothing else?
- A?;OneHalf <- ...the first answer and a wrong one?
- D??;D+2 <- ...the fourth answer and other two?
- B*;BAndMore <- Was the second answer chosen?
- C?*;C+1+More <- Were the 3rd answer and at least another chosen?
- ???;ThreeAnsw <- Was it a triple answer?
- *;SthElse <- In all the other cases...
- @#%
-
- When Teacher executes this block, the following appears on the screen:
-
- ------------------------------------------------------
-
- Which of the following blocks can you find in Teacher?
-
- A> Question Block
-
- B> Answer Block
-
- C> Empty Block
-
- D> Terminal Block
-
- E> Illogical Block
-
- Please answer (max. 3 answers) >
- ------------------------------------------------------
-
- Now the student just has to type the letters corresponding to the answers he
- chooses and to press Return. Note that if you do not answer, or give twice
- the same answer, or give an impossible answer, or give too many answers,
- Teacher does not accept it.
- TEACHER QUESTION BLOCK 16
-
- In this case, the correct answer is 'AD' (or 'da', or 'Da', or 'aD'... it
- is the same thing).
- Suppose that the student answers 'ABC'. The score for this answer is
- calculated at once and added to the total; the same happens to the maximum
- possible score. In this case, the student gets:
-
- 10 points for answering A;
- 1 point for answering B;
- 0 points for answering C;
- 0 points for NOT answering D;
- 2 points for NOT answering E.
-
- The student's score grows by 13 points, while the maximum score grows by 37
- points - the ones the student would have got if he had answered correctly.
- It is very important to give points to the student for NOT choosing the
- wrong answers! The capacity of excluding wrong answers is a useful one.
- Some words about "how many points should I give?". First of all, a single
- question must not be worth more than 30000 points, and the total must never
- grow higher than 2 billions. If you stay below these limits, the method I
- suggest is: 1) choose a maximum score for the question proportional to the
- difficulty of the question; 2) split it between the possible answers
- according to how easy or difficult is for the student to decide if the
- answer is right or wrong.
-
- Immediately after calculating the score, Teacher evaluates the conditions
- one by one. Any who has already worked with wildcards will recognize them
- immediately: '?' means 'any letter', '*' means 'any series of letters or
- nothing'. In Teacher, as the order of the answers does not influence the
- result, the characters in the condition must be put in this order: first of
- all letters, then question marks and finally the asterisk. As you can see
- from the example, you can write lots of conditions in this way. Please note
- that to write a logical AND you only need ONE condition: for instance, 'AB'
- means "Did the student choose A & B and nothing else?". To write a logical
- OR/XOR you must combine more conditions:
-
- AB;Both
- A;OnlyA
- B;OnlyB
- *;Neither
-
- In the example, the first condition, BCE, is false as it does not include A;
- AD does not include B and C. A and A? cannot be accepted as they limit to
- one or two the answers given, while ABC is a triple answer. D?? is not OK
- as the student did not choose D. Finally, B* is all right, as the student
- chose at least B. Teacher will continue the lesson with the block that
- follows the condition B*, i.e. BAndMore.
-
- Note: as a last condition, to avoid errors, you should always use '*', as
- it means "In any other case". If '*' is missing, the syntax controller
- TCRComp will warn you.
-
- The Question Block is the most difficult of all; if you feel you cannot
- learn how to use it, the only solution is to experiment and see how Teacher
- reacts. If I manage to write an interactive interface for teachers, I will
- try to make this section easier.
- TEACHER EVALUATION BLOCK 17
- EVALUATION BLOCK
-
- This is the last type of block: it gives you the opportunity to choose
- between different continuations according to the student's current score.
- Here is the syntax:
-
- BLOCK_NAME
- Block Text
- @#/JumpMode EVALUATION_MODE
- @#$
- -Number of alternatives <- Must be <0
- Default Continuation
- Min;Max;Continuation
- Min;Max;Continuation
- ...
- @#%
-
- The line containing @#/JumpMode tells Teacher where it must "look" to decide
- where to go from here. If this line is missing, Teacher evaluates the
- current partial score. I shall explain JumpMode later, in the External
- Commands chapter.
-
- After the usual BlockText and @#$, there must be a NEGATIVE number: it
- means that this is not a Question Block but an Evaluation Block. On the
- following line there must be the name of a block: if Teacher is not able to
- decide a continuation, it will choose this block.
-
- Immediately after this you have to write as many lines as the absolute value
- of the "Number of alternatives". Each line consists of a minimum and
- maximum score (in 1000th) or time (in seconds) and of a Blockname; the three
- fields are separated by semicolons.
-
- When Teacher executes an Evaluation Block, it compares the previosly chosen
- object (for instance, the score) with the various intervals, from the top to
- the bottom. As soon as Teacher finds an acceptable interval, it "jumps" to
- the corresponding block; otherwise, if it cannot find any acceptable
- interval, it jumps to the Default Block.
-
- In any case, before going to the next block, Teacher asks the student to
- press Return. Here is an example:
-
- Eval
- You will soon know how well - or badly - you did...
- @#$
- -3 <- Three Rating Lines.
- Average <- If all comparisons fail, go to "Average".
- 0;399;VeryBad <- First: did the student get less than 400/1000?
- 400;599;Bad <- Second: did he get from 400 to 599/1000?
- 850;1000;VeryGood <- Third and last: did he get at least 850/1000?
- @#%
-
- In this case, if the student's rating is less than 4/10, Teacher goes on
- with the "VeryBad" block; if the rating is between 4/10 and 6/10, it goes to
- "bad"; if it is higher than 850/1000, Teacher goes on with "VeryGood"; and
- finally, in all other cases, continues with the "Average" block.
-
- You should now know how to create a block of any kind. Combining the blocks
- correctly you can do nearly anything... you only have to try.
- TEACHER HOW TO CREATE A LESSON 18
-
- HOW TO CREATE A LESSON
-
- You should know by now the internal syntax of the blocks; the last thing you
- have to learn in order to create a lesson is how to combine blocks. It is
- very easy: you just have to create a text file with any editor.
-
- The name of the file MUST end with ".Teacher" on Amiga and with ".Tea" on
- Msdos computers. This suffix (or extension) tells the computer "this is a
- lesson which can be read by Teacher".
-
- The first line of the text must be TEACHER_DFILE - it confirms that it is
- really a lesson.
-
- The second line consists of the name of the block Teacher must begin with.
- It is not necessary for it to be the first block. In the following lines,
- you can put (if you wish) some External Commands (see later) and, after
- them, a @#% line.
-
- After this "Introduction Block" you only have to put, in any order, the
- blocks which constitute the lesson. BEWARE! Avoid leaving empty lines
- outside text blocks. They could cause errors.
-
- An example: the lesson "Example.Teacher" ("Example.Tea" on Msdos) could be
- written this way.
-
- TEACHER_DFILE
- 2ndBlock <- Start with this block
- @#% <- No External Commands
- BlockOne
- ...
- @#%
- 2ndBlock
- ...
- @#%
- ... <- Various blocks
- ...
- ...
- ...
- LastBlock
- ...
- @#%
-
- Once the lesson file is ready, when you want to start the lesson you just
- have to enter, from CLI or Shell on Amiga, at the Prompt on Msdos, the
- command "Teacher <LessonName>", where <LessonName> is the lesson's filename
- without extension. For instance, to use the lesson "Demo.Teacher" or
- "Demo.Tea", you just have to write
-
- TEACHER DEMO
-
- and press Return. If the file called "Demo.Teacher" is not in the current
- directory, you have to tell Teacher the path to find it.
-
- You can now begin to experiment... good luck!
- TEACHER INTERNAL COMMANDS 19
-
- INTERNAL COMMANDS
-
- You can already create some interesting lessons by using what you have
- learnt up to now. But Teacher can do much more! In fact, it is possible to
- display the student's mark, the time he took to complete the lesson, ask him
- to press Return, calculate a partial score... You can do all of these
- things by using Internal Commands.
-
- All Internal Commands have some common features. First of all, they all
- begin with the characters @#. Secondly, they must be placed inside a text;
- when Teacher finds them, according to the command, it performs some specific
- actions or replaces them with something else - for instance, the student's
- score.
-
- Two internal commands, @#$ and @#%, have already been described. Here you
- will find a description of all the other internal commands.
-
- PRESS RETURN - @#&
- It pauses the lesson until the student presses Return. This command is
- useful when you want to create suspense, or when you have to deal with very
- long texts which would otherwise overflow.
-
- An example:
- ...
- Blah Blah Blah Blah Blah Blah Blah Blah
- @#&
- Blah Blah Blah Blah Blah Blah Blah Blah
- ...
-
- In this case, Teacher displays the first Blah row, asks the student to press
- Return and waits; when the student chooses to go on, Teacher displays the
- second Blah line.
-
-
- WRITE MARK - @#*maxpoints
- This sequence is replaced with the student's mark; the maximum mark is the
- number (at least 2) following @#*. The mark is calculated dividing the
- student's points by the maximum possible score, and multiplying the result
- by the maximum mark. For instance, @#*100 writes on the screen a centesimal
- mark. If the student got 140 points on a maximum of 202, the result will be
- 70 (Teacher always rounds down). If you use @#* before asking any question,
- Teacher assumes that 0/0=1. (Otherwise the computer would crash...)
-
- CLEAR PARTIAL SCORE - @#^
- This sequence should be used as a separate line. This internal command
- clears the partial score and the partial maximum points.
- TEACHER INTERNAL COMMANDS 20
-
- USE GLOBAL SCORE - @#!
- This sequence should be used as a separate line. It is the opposite of @#^:
- when Teacher finds it, it forgets the partial score and uses global scores.
- An example: suppose the student got 360 points on a maximum of 400. A
- @#*100 command would write 90. If you now use @#^, the score becomes 0/0.
- Suppose that the student now gains 30/100 points. @#*100 would display 30.
- If you use the @#! command, Teacher sums up all partial scores, and the
- student gets a global 390/500: 78 on a @#*100.
- Besides @#*, the commands @#^ and @#! also influence Evaluation Blocks, as
- they use partial scores after @#^, global scores after @#!.
-
-
- SHOW TIME AND DATE - @#T or @#t
- This sequence is replaced by the time and date memorized into the computer.
-
-
- SHOW TIME ELAPSED - @#H, @#M, @#S, @#h, @#m, @#s
- These sequences are replaced by the number of hours, minutes and seconds
- elapsed from the beginning of the lesson if H, M, S are upper-case; if they
- are lower-case, Teacher shows the time elapsed since the last Time Reset
- (see External Commands).
-
-
- WRITE @# - @#
- The characters @#, followed by a space, are displayed as they are.
-
-
- WRITE @#something - @#@something
- Internal commands have only one fault - you cannot display the @# sequence,
- as it is recognized as a command and not as a text. No problem. Using this
- command you can solve this problem as well.
- For instance, the text "The @#@T command displays time and date" displays on
- the screen "The @#T command displays time and date".
-
-
- SEND EXTERNAL COMMAND - @#/Command
- This sequence sends the command "Command" to the External Command Processor.
- Read the following chapter to know more about it.
-
-
- PRINT VARIABLE - @#=var command (0.60)
- Only available in version 0.60 or higher. This command displays the
- contents of the variable 'var', where 'var' is a number between 0 and 63.
- TEACHER EXTERNAL COMMANDS 21
-
- EXTERNAL COMMANDS
-
- With External Commands you can perform a series of complex actions: among
- these, the most interesting is perhaps the LogFile, i.e. you can write to
- disk a summary of what the student does, automatically. The "Log" chapter
- speaks about this in detail. If a command is followed by a number between
- brackets, you need at least that version of Teacher to use that command.
-
- WARNING! External commands, except Version and Time Reset, are reserved to
- registered users. In evaluation versions they are ignored. This is a good
- reason to register...
-
-
- VERSION
-
- Syntax: VERSION minimum-version-number
- It tells Teacher the minimum version of Teacher needed to use the lesson.
- For instance, "Version 0.60" stops the lesson if Teacher is not at least
- version 0.60. This is very useful if you use commands which were not
- available in older versions of Teacher.
-
-
- LOGMODE
-
- Syntax: LOGMODE Verbosity
- This commands activates and deactivates the Logfile, and tells Teacher which
- data must be written in it.
-
- Instead of Verbosity, you must insert one of the following keywords:
-
- NONE - Completely deactivates the LogFile. If this command appears in a
- lesson, no other commands in it may refer to the log. LogMode None must be
- put in the Introduction Block, and must appear only once.
-
- OFF - Temporarily deactivates the LogFile. If Teacher does not find any
- LogMode commands, it assumes the mode is OFF. All log-commands are ignored.
-
- HARDCOPY - Activates the Log and sends to it exactly what appears on the
- screen, neither more nor less.
-
- TERSE - Activates the Log, and writes the names of encountered Question
- Blocks and the answers given; moreover, when a @#* is executed, the score is
- written on the Log as well. All log-commands are active.
-
- NORMAL - Activates the Log as Terse, plus it writes for each question the
- points the student got and the maximum for that question.
-
- VERBOSE - Writes in the Log the names of ALL the blocks encountered; in
- Question Blocks, it memorizes the answer given, and the student's & maximum
- scores for that question, partial and global.
-
- FULL - Combines Verbose with Hardcopy.
- TEACHER INTERNAL COMMANDS 22
-
- LOGNAME
-
- Syntax: LOGNAME LogFile
- It defines the name of the LogFile. If this command is absent, Teacher
- assumes the LogFileName to be <LessonName>.Log.
- If the current LogMode is None, Teacher stops. If a log is already open,
- Teacher closes it and opens the new log.
- You can use LogName to print results: you only have to use, on Amiga,
- "LogMode PRT:"; on Msdos, "LogMode LPT1".
-
-
- ECHONAME
-
- Syntax: ECHONAME
- If the Logfile is active, EchoName writes on it the name of the current
- lesson. For instance, if Teacher was activated with "Teacher Lesson1",
- EchoName will write "Lesson1.Teacher".
-
-
- ECHO
-
- Syntax: ECHO sentence
- If the LogFile is active, Echo writes the rest of the line on it.
- For instance, "Echo ***Second Part of the test***" sends to the log
- "***Second Part of the test***".
-
-
- ASK
-
- Syntax: ASK MinLen Sentence
- ASK writes "Sentence" on the screen, and waits for the student to answer.
- If the answer is shorter than MinLen characters, the student must answer
- again (useful to force students to answer...).
- When the answer is accepted, if the logfile is open, it is written on the
- logfile. For instance, "Ask 10 Type your name please" asks the student to
- write his name; when the student writes a sequence of at least 10 characters
- Teacher sends it to the Log and goes on.
-
-
- TIME commands: TIME [Reset|Write|Elapsed|Total]
-
- TIME RESET: resets the system chronometer. The internal commands @#h, @#m
- and @#s are affected, as they write the time elapsed since the last Reset.
- TIME WRITE: writes on Log the current time and date. It corresponds to the
- internal command @#t.
- TIME ELAPSED: writes on Log the time passed since the last Time Reset. If
- no Time Reset was given, this is the same as Time Total.
- TIME TOTAL: writes on Log the time elapsed since the beginning of the
- lesson.
- TEACHER EXTERNAL COMMANDS 23
-
- AUTHOR
-
- Syntax: AUTHOR AuthorName
- This command MUST appear in the Introduction Block of any lesson you want to
- compile with TCRComp. Multiple Author lines, or Author lines outside the
- Introduction Block, cause Teacher to stop.
- Instead of AuthorName you must put the name of the author of the lesson.
- The author, of course, must be registered to TCRComp for the lesson to be
- compiled. Once the file is compiled, the Author line acts as a Copyright
- protection - if modified, the compiled file is totally useless.
-
-
- OVERRIDE
-
- Syntax: OVERRIDE
- You can use Override only in the Configuration file (see later). It tells
- Teacher that data in the configuration file must prevail over contrasting
- orders in the lessons' Introduction Block. If Override is not used, Teacher
- does the opposite.
-
-
- ADDPOINT (0.54)
-
- Syntax: ADDPOINT #points
- Adds #points to the current and global score. #points must be an integer
- between -30000 and +30000. Warning: if you use AddPoint without
- AddMaxPoint, @#* can give you a score higher than 100% or less than 0.
-
-
- ADDMAXPOINT (0.54)
-
- Syntax: ADDMAXPOINT #points
- It works exactly like AddPoint, but modifies the current and global "best"
- scores.
-
-
- SETVAR and ADDVAR (0.54)
-
- Syntax: SETVAR #var #num
- ADDVAR #var #num
- Teacher has got 64 internal variables; 60 of them (0-59) are free, while the
- other four are
-
- 60 - current score
- 61 - current best score
- 62 - global score
- 63 - global best score
-
- Therefore AddPoint 200 is the same as AddVar 60 200 and AddVar 62 200.
- A variable can be any integer number between -2e9 and +2e9; its contents can
- be set with SetVar and modified with AddVar. For instance, SetVar 0 1000
- puts the value 1000 in variable #0; AddVar 3 -1 decreases var #3 by one.
- When the lesson starts, all variables are zero.
- TEACHER EXTERNAL COMMANDS 24
-
- JUMPMODE (0.54)
-
- Syntax: JUMPMODE POINTS [default]
- JUMPMODE RND
- JUMPMODE RANDOM
- JUMPMODE TIME
- JUMPMODE TTIME
- JUMPMODE VAR #var
-
- JumpMode allows you to choose which parameter Teacher will use in an
- Evaluation Block to choose where to go. JumpMode only influences the
- CURRENT block; every time that Teacher changes block, JumpMode reverts to
- POINTS.
-
- POINTS: The default choice. Teacher evaluates the current score, in 1000ths.
-
- RND or RANDOM: Teacher evaluates a random number between 0 and 999, which is
- generated by the system clock.
-
- TIME & TTIME: Teacher evaluates respectively the time (in seconds) elapsed
- from the previous Time Reset and the time elapsed from the
- beginning of the lesson. The maximum time is 2,000,000,000
- seconds - about 60 years.
-
- VAR #var: Teacher evaluates the current value of the variable #var. For
- instance, @#/JumpMode Var 5 tells Teacher to evaluate the
- variable #5.
-
-
- TIMEOUT (0.54)
-
- Syntax: TIMEOUT Maximum_Time_in_seconds
- Sets the maximum time the student can spend on the lesson. If the student
- is too slow, Teacher abandons the lesson and jumps to the block specified
- with the command TimeOutBlock. The count-down is reset by Time Reset.
- If TimeOutBlock has already been used before, TimeOut activates the
- count-down. To deactivate the countdown, use TimeOut 0.
- When the count-down reaches zero, it stops until you use TimeOut again.
-
-
- TIMEOUTBLOCK (0.54)
-
- Syntax: TIMEOUTBLOCK Block_Name
- Sets the block to which Teacher must jump whenever the countdown reaches
- zero; if TimeOut has already been used, TimeOutBlock starts the countdown.
- TimeOutBlock does not have to be restored when the count-down reaches zero.
-
-
- WAITMODE (0.60)
-
- Syntax: WAITMODE Mode
- If Mode is 0 (it is 0 by default) the student must press Return every time
- Teacher passes from one block to another. If Mode is 1 the student must
- instead press Return only when answering or when Teacher finds a @#&
- internal command.
-
- TEACHER EXTERNAL COMMANDS 25
-
- APPEND (0.60)
-
- Syntax: APPEND Lesson [Password]
- Teacher ends the current lesson and starts the specified one. The student's
- score and the other variables remain unchanged, but the TimeOut, if active,
- becomes inactive. If the new lesson has been protected with TcrComp
- Encrypt, you must write here the password (mind: upper and lower case
- letters are different!).
-
-
- CHARSET (0.60)
-
- Syntax: CHARSET Computer
- Example: Charset Amiga
- If the lesson was not written on a Msdos, this command, placed in the
- introduction block, allows Teacher to interpret correctly the accented
- letters and other symbols.
-
-
- LEFTMARGIN and RIGHTMARGIN (0.60)
-
- Syntax: LEFTMARGIN column
- RIGHTMARGIN column
- These commands set the left and right edge of the screen. There are two
- restrictions: the number after LeftMargin must be 0 or greater, and the
- width of a line cannot be less than 30 characters.
-
-
- JUSTIFY (0.60)
-
- Syntax: JUSTIFY [LEFT|CENTER|RIGHT]
- JUSTIFY
- JUSTIFY [FORCE|LEAVE|NORMAL]
- This command allows you to choose how the text is printed: left-aligned
- (default choice), right-aligned, centered or justified (that is, both left
- and right aligned).
- Justify Force tells Teacher that the text must be re-paged up: Teacher will
- ignore multiple spaces and single Carriage Returns. To end a paragraph
- while Justify Force is on, you must leave an empty line. Justify Leave
- turns off repaging, and Justify Normal switches back to the default choice.
-
-
- RESET (0.60)
-
- Syntax: RESET
-
- This command clears all of the variables, including partial and global
- scores. This is useful when you wish to restart a lesson or when you want
- to foil any attempt of creating a Teacher.cfg file with an ADDPOINT 10000
- line...
-
-
- MULVAR (0.60)
-
- Syntax: MULVAR var num
-
- Multiplies the variable 'var' by 'num'. 'num' can be any number.
- TEACHER EXTERNAL COMMANDS 26
-
- RNDVAR (0.60)
-
- Syntax: RNDVAR var min max
-
- Places in the variable 'var' a random number between 'min' and 'max'.
- Remember, however, that Teacher only supports numbers between -2.000.000.000
- and 2.000.000.000.
-
-
- CPYVAR (0.60)
-
- Syntax: CPYVAR var1 var2
-
- Copies the contents of the variable var2 into var1.
-
-
- Other commands regarding variables (0.60)
-
- Syntax: ADDVARS var1 var2
- MULVARS var1 var2
- DIVVARS var1 var2
-
- These commands perform the operations var1+var2, var1*var2 and var1/var2,
- and store the result in var1.
- TEACHER THE LOGFILE 27
-
- THE LOGFILE
-
- The LogFile, about which I have already spoken, is one of the most flexible
- and powerful instruments that Teacher offers to the teachers. If used
- correctly, it allows you to organize easily tests on the computer, to judge
- yourself the results...
-
- The LogFile is always opened in Append mode. This means that data from one
- lesson do not delete those of the previous one, but are written after them.
- All data is available to the teacher until he deletes it manually with a
- Delete or Del command.
-
- To make it possible to distinguish what each line of the Logfile means, each
- of them is preceded by a special character that varies according to the
- origin of the line.
-
- These are the currently used characters:
-
- '%': this is a BLOCK through which the student passed.
- '!': this is a mark, expressed as Points/MaxPoints.
- '*': the results of a Question Block.
- '>': this was an Echo.
- '#': answer to an Ask command.
- '?': the name of the lesson, written by EchoName.
- '@': date and time written by Time Write.
- '+': partial chronometer, Time Elapsed.
- ':': global chronometer, Time Total.
-
- Among these, the '*' line, the one which reports the results of a question,
- has a special structure.
- Here it is:
-
- *BlockName AnswGiven POINT MAXPT PARTPOINT PARTMAXPT GLOBPOINT GLOBMAXPT
-
- (According to the LogMode, some data may be missing).
-
- POINT and MAXPT refer to the scores obtained and maximum in that particular
- question; PARTPOINT and PARTMAXPT to the partial counter (see @#^, @#!);
- GLOBPOINT and GLOBMAXPT to the global counter.
-
- The LogFile can be read by a statistics program, if you understand the
- meaning of the codes: this way you can, for instance, compare the student's
- performance during the various parts of the test, compare the results of all
- the students... The only limit is your imagination.
-
- TEACHER HOW TO CUSTOMIZE TEACHER 27
-
- HOW TO CUSTOMIZE TEACHER: THE CONFIGURATION FILE
-
- Teacher's potentialities are not yet over. A single lesson may be used by
- different people who have different needs. For instance, a series of
- questions used at school as a test will require an initial Ask (who is the
- student???) and a Log; used as a "private lesson", Ask and Log are useless.
- With Teacher you can adapt the same lesson to different needs: the
- instrument to do this is the Configuration File.
-
- The Config File is just a text file, called "Teacher.Cfg", and put into the
- current directory (*); it must consist of a series of external commands,
- which are executed at the beginning of every lesson. For instance, the
- following Config File
-
- LogName Main.Log
- LogMode Verbose
- EchoName
- Ask 10 What's your name?
- Override
-
- tells Teacher to use Verbose Logs, and to send all data to the unique log
- "Main.Log"; every lesson must send its name to the Log, and ask the student
- his name. The Override keyword tells Teacher to override any contrasting
- directive in the Introduction Block.
-
- As external commands, the Config File is restricted to registered users.
-
- External commands put in the Config file or in the Introduction Block are
- also called Static Commands. The commands VERSION, AUTHOR and LOGMODE NONE
- must be static, while TIME RESET, TIME ELAPSED and TIME TOTAL must not be
- static. The reason is obvious.
-
-
-
-
- ----------------------------------------------------------------------------
- (*) With Teacher 0.60 the configuration file can be ANY file, which you must
- specify in the command line if it's not "Teacher.Cfg" by using the -c
- option. For instance, if your Config File is s:Config.Tcr, you must write
-
- TEACHER LessonName -c s:config.tcr
-
- Just in the same way you can put the KeyFile where it most suits you: you
- only have to tell Teacher where to look, with the -k option. If you are an
- original and want to call your keyfile dh0:mystuff/tcrkey.abc, just call
- Teacher this way:
-
- TEACHER LessonName -k dh0:mystuff/tcrkey.abc
- TEACHER TCRCOMP 29
-
- TCRCOMP
-
- TCRComp is Teacher's companion: whoever wants to write a new lesson for
- Teacher and does not want to get mad while testing it definitely needs
- TCRComp. TCRComp's main purpose is to analyse the text of a lesson and to
- report any error. If TCRComp says that a lesson is OK, it probably is -
- though there could be some structural error, as an endless loop caused by
- two linear blocks which call one another. The Analysis function of TCRComp
- is available in the evaluation version.
-
- TCRComp has other important features, reserved to registered users: it
- can "compile" the text of a lesson, making it faster and allowing users
- registered only to Teacher to use the lesson without penalties; it can check
- if a compiled lesson is OK or needs recompiling (as it was modified after
- compiling); it can encrypt and decrypt lessons.
-
- Two other functions exist: "Help", which shows a summary of the available
- commands, and "About", which shows a Copyright message.
-
-
- The syntax of TCRCOMP is
-
- TCRCOMP Command [LessonName] [Verbosity] [LOCK] [-kKeyFile] [-pPassword]
-
-
- The -k option, as in Teacher, tells TcrComp where the KeyFile is, if it is
- not "Teacher.Reg" in the current directory; the -p option specifies the
- password for encrypting and decrypting a lesson.
-
-
- HELP
-
- If you do not remember all the commands, type TCRCOMP HELP.
-
-
- ABOUT
-
- To see the copyright message, type TCRCOMP ABOUT.
-
-
- CHECK
-
- Analyzes a lesson. The syntax is
-
- TCRCOMP CHECK LessonName [Verbosity]
-
- where LessonName is the name of the lesson without the ".Teacher" or ".Tea"
- extension, while the optional parameter Verbosity tells TCRComp how much it
- must send to the screen: very little (use TERSE), very much (use VERBOSE)
- or an average quantity of data (no parameter). Beware when you use Verbose
- mode... it may be a VERY LONG analysis, as TCRComp writes an average of 5-6
- lines per block.
-
- For instance, "TCRComp Check Physics1 Terse" analyses the lesson called
- "Physics1.Teacher" sending as little as possible to the screen.
- TEACHER TCRCOMP 30
-
- COMPILE
-
- The syntax is the same as Check - you only have to change Check with
- Compile. "TCRComp Compile" analyzes the lesson, and creates a "Compiled
- file" whose name is the same as that of the lesson, except the extension
- which is changed to ".Tcr". TCRComp writes in the compiled file some data
- which will be read by Teacher and will speed up the block search.
-
- IMPORTANT!!! TCRComp Compile MUST be used EVERY TIME you modify, even by
- one letter, the text of the lesson. If you use an old compiled file you
- could cause a disaster, i.e. the lesson could stop abruptly because of an
- error. I think I will solve this problem in a future versions of Teacher,
- by reading the creation date of the files.
-
- TCRComp Compile needs an Author line in the Introduction Block of the
- lesson. The author, of course, must be registered. The name of the author
- will be encoded in the compiled file, and if the AuthorName is later changed
- the compiled file becomes useless.
-
-
- COMPARE
-
- It simply analizes the lesson and checks the corresponding compiled file.
- Any change will be noticed. The syntax is the same as Compile.
-
-
- PROTECT (0.53)
-
- It compiles the lesson as COMPILE, and creates the file Lesson.Encoded (on
- Msdos Lesson.Enc), which is readable by Teacher but NOT by humans. After
- running TcrComp Protect, delete or rename the file Lesson.Teacher and rename
- Lesson.Encoded in Lesson.Teacher. You now have a lesson which cannot be
- modified... and no student can look in the lesson file to see which are the
- correct answers! If you specify LOCK on the command line, the .Encoded file
- can no more be decrypted by TcrComp (useful for people who want to sell
- their lessons). Protect does not require a password. Protected files are 1
- byte longer than the original.
-
-
- ENCRYPT (0.53)
-
- It's nearly the same as Protect; the only difference is that Encrypt
- requires a password to work. If the password contains spaces it must be put
- among quotation marks "". WARNING!!! In passwords upper-case and
- lower-case letters are NOT interchangeable.
-
- In order to read with Teacher an encrypted lesson you must - first of all -
- have at least version 0.53. In this case, just tell Teacher the password,
- which must be the same you used to Encrypt the lesson:
-
- TEACHER Lesson -pPassword
- TEACHER TCRCOMP 31
-
- DECRYPT
-
- Extracts a .Decoded (.Dec on Msdos) file from an encrypted or protected
- .Teacher file. The .Decoded file is exactly the same as the original.
- Decrypt does not work if the file was encrypted with LOCK, and it needs the
- .Tcr compiled file to function. Decrypt reverses both Protect and Encrypt;
- to reverse the latter, Decrypt needs (of course) the password.
- TEACHER ERROR MESSAGES 32
-
- ERROR MESSAGES
-
- This chapter lists the various error messages that can appear while using
- Teacher and TCRComp, and explains their meaning; in some cases, you will
- find how to fix the problem.
-
- ERRORS COMMON TO TEACHER AND TCRCOMP
-
- Can't open file ""
- Teacher cannot find that file on disk.
-
- Bad file name ""
- The name is incorrect since it contains some reserved characters ('*',
- '?'...)
-
- Pointer out of sync.
- Teacher always keeps in memory a "pointer table" in order to jump quickly to
- any block. If the table is messed up with, this error occurs. Usually the
- error occurs when you modify an already compiled file and forget to
- recompile it; use TCRComp Compile to solve the problem.
-
- Bad Log File Name.
- The parameter you used with LogName is bad.
-
- LF missing after @#%.
- You should leave @#$ and @#% alone on the line. Anyway, after them you MUST
- go to a new line!
-
- '*' command error.
- The Maximum score you gave to @#* is lesser than 2 or too high.
-
- '?' command not available.
- Teacher found a non-existent internal command.
-
- Error in default block.
- In an Evaluation Block, Teacher could not read the Default Block name.
-
- Error in score x.
- In a Question or Evaluation block, the x-th row of scores has something
- wrong.
-
- LF missing after evaluation line.
- In an Evaluation Block, after the min/max scores and the BlockName, you have
- to go to a new line.
-
- Error in answer maximum.
- In a Question Block, the maximum number of contemporary answers must be
- between 1 and the total number of possible answers.
-
- Answers are not yet over.
- At the beginning of a Question Block you announced more possible answers
- than those found. Check that the texts of the answers are separated by @#$
- lines.
-
- Blockname longer than n characters.
- The name of a block is too long and has been truncated.
- TEACHER ERROR MESSAGES 33
-
- The file is not a lesson.
- Very likely, the initial TEACHER_DFILE is missing.
-
- The file was not compiled with TCRComp.
- Teacher found a corrupt Lesson.Tcr file. This error should only occur if
- you change the contents of a .Tcr file - and I suggest you don't.
-
- Too many blocks.
- Teacher can read lessons long as much as 2000 blocks. In a future version
- this limit will cease to exist. Anyway, I don't think you will ever need to
- put more than 2000 blocks in a single lesson...
-
- The block doesn't end correctly.
- Either Teacher expects a @#% and doesn't find it, or it finds a @#% where it
- doesn't expect it.
-
- Too many exits.
- In a Question or Evaluation block, there are too many possible answers or
- too many evaluation lines.
-
- @#$ missing after score table.
- Just add it.
-
- I can't find the block "".
- Teacher wants to jump to that block, but no such block exists. Check that
- the @#% lines are OK and delete empty lines between blocks.
-
- Only one Author line allowed.
- You wrote more than one Author line, or you put one outside the Introduction
- Block.
-
- With LogMode_None you *CANNOT* use the Log.
- Teacher found in the same lesson a LogMode None and a command which
- activates the LogFile. LogMode None permanently disables the LogFile - if
- you just want to turn it off use LogMode OFF!
-
- LogMode None must be a static command.
- This means it cannot be called from within a lesson with @#/. LogMode None
- must be in the introduction block or in the config file.
-
- LogMode error: "" is not a valid sub-option.
- After LogMode you must put one of the seven valid keywords mentioned before.
-
- Override must be a .cfg command.
- The Override command, due to its nature, can only be used in the
- configuration file, "Teacher.cfg".
-
- Time commands RESET, ELAPSED, TOTAL cannot be static.
- That is, you must call them with a @#/.
-
- Unknown Time command: ""
- The Time commands are Elapsed, Total, Reset and Write.
-
- Version must be a static command.
- It is a mistake to put Version outside the Introduction block or the Config
- file.
- TEACHER ERROR MESSAGES 34
-
- This lesson requires at least Teacher version X.XX.
- To know which version you are using, type TEACHER by itself.
-
- Unknown external command: ""
- This command does not exist.
-
- I cannot read the compiled file.
- A compiled (.Tcr) file MUST exist in order to use the DECRYPT and COMPARE
- commands.
-
- I cannot access variable #
- You used a variable out of the 0-63 range.
-
- Unknown JumpMode: ''
- After JumpMode you must put ONE of the following parameters: Points, Rnd,
- Random, Time, TTime, Var.
-
- Wrong justification parameter.
- You used a negative LeftMargin or tried to make the line shorter than 30
- characters.
-
- APPEND cannot be a static command.
- You used Append in the configuration file or in the introduction block.
- TEACHER ERROR MESSAGES 35
-
- TCRCOMP ERRORS
-
- Not enough memory.
- The system's free memory is too little, or too scattered.
-
- Blocks M and N have the same name.
- Teacher identifies blocks with a unique name; if it finds duplicates it
- immediately stops.
-
- Author's name missing.
- The introduction block must contain an Author line.
-
- Author "" is not registered.
- Check that the name is spelt correctly or register yourself as an author.
-
- I cannot write to the compiled file.
- The disk where TCRComp must write the compiled file is full, damaged or
- write protected.
-
- I cannot read the compiled file.
- ...very likely because it doesn't exist.
-
- The block calls itself.
- This is a fatal error in Linear blocks, as in these cases it causes an
- endless loop. If a question or evaluation block calls itself, the strange
- event is reported, but it is not an error.
-
- Block "" is never called.
- If you planned your lesson correctly, you must have written too many @#%, or
- misspelled the name of a block.
-
- The lesson is neverending.
- Unless you want the student to stay on the lesson for the rest of his life
- and of all eternity, you must include at least a Terminal block.
-
- Conditional sequence is too long.
- In a Question block, a conditional sequence is longer than the maximum
- number of answers the student may give.
-
- Bad character in conditional sequence.
- Conditional sequences can contain letters ('A', 'B',... as many as the
- possible answers), '?' and '*'. Any other character causes this error.
-
- Duplicate answer in conditional sequence.
- The same letter appears twice in the same conditional sequence.
-
- '*' is not the last conditional sequence.
- There are some conditional sequences after '*', but they will never be taken
- into consideration by Teacher.
-
- '*' conditional sequence missing.
- It is useful to use '*' as the last conditional sequence, as this stops the
- program from crashing if the student answers in an unforeseen way. You
- don't have to use this sequence, but you should - it's good for you.
-
- TEACHER ERROR MESSAGES 36
-
- Useless password/Missing password
- When you ENCRYPT a file or DECRYPT a file you created with Encrypt, you must
- supply a Password (-pPwd); in all other cases, you must not use the -p
- option.
-
- LOCK is impossible
- You can use the LOCK option only with the ENCRYPT and PROTECT commands.
-
- The file is neither protected nor encrypted
- ...and you tried to DECRYPT it.
-
- This file has been locked
- You cannot decrypt a file which was created with the LOCK option.
- TEACHER CONCLUSION 37
-
- CONCLUSION
-
- This is the end of Teacher's manual. During its development, Teacher has
- grown enormously, but it can still be improved. If you have any suggestion
- to give me, or any bug to report (in this case, please be certain that it is
- a bug of the PROGRAM and not of the lesson!) contact me at this address:
-
- Teacher Development
- c/o Paolo Gatti
- via Boldori 17
- 26013 Crema (CR)
- ITALY
- Phone number +39-373-201617
- Fidonet address 2:331/203.1
- Amiganet address 39:101/302.1
- Usenet address paolo.gatti@p1.f203.n331.z2.fidonet.org
-
- Teacher can be used in many fields, not only at school. It can help
- teaching, of course. It is its first aim. But Teacher can be used in
- different ways. One is amusement: I don't think it would be difficult to
- write an adventure game with Teacher... particularly now that Teacher has
- got 60 available variables and a TimeOut feature. You could use it to
- prepare any kind of questionnaire as well.
-
- Use your imagination! Teacher, after all, is a tool: don't be afraid, use
- it, experiment!
-
- TEACHER INDEX 38
-
- INDEX
-
- External commands are marked (*); TcrComp commands are marked (@).
-
- About...................@. 31 MulVar..................*. 25
- AddMaxPoint.............*. 23 MulVars.................*. 26
- AddPoint................*. 23
- AddVar..................*. 23 Override................*. 23
- AddVars.................*. 26
- Append..................*. 25 Registration.............. 6-10
- Ask.....................*. 22 Reset...................*. 25
- Author..................*. 23 RightMargin.............*. 25
- RndVar..................*. 26
- Basic Concepts............ 11
- Block, Introduction....... 18, 28 SetVar..................*. 23
- Block, Linear............. 13
- Block, Question........... 14-16 Time, Elapsed...........*. 22
- Block, Evaluation......... 17, 24 Time, Reset.............*. 22
- Block, Terminal........... 13 Time, Total.............*. 22
- Blocks, Logical........... 12 Time, Write.............*. 22
- TimeOut.................*. 24
- Charset.................*. 25 TimeOutBlock............*. 24
- Check...................@. 29
- Commands, External........ 21-26 Version.................*. 21
- Commands, Internal........ 19, 20
- Compare.................@. 30 WaitMode................*. 24
- Compile.................@. 30
- Configuration File........ 28
- CpyVar..................*. 26
-
- Decrypt.................@. 31
- DivVars.................*. 26
-
- Echo....................*. 22
- EchoName................*. 22
- Encrypt.................@. 29
- Error Messages............ 31-34
-
- JumpMode................*. 24
- Justify.................*. 25
-
- LeftMargin..............*. 25
- Lesson Structure.......... 18
- Log....................... 27
- LogMode.................*. 21
- LogName.................*. 22
-